package com.cjkj.equipment.service;

import com.cjkj.common.core.domain.runset.RunSetParam;
import com.cjkj.system.api.domain.APITJ03BpData;
import com.cjkj.system.api.domain.APITJ03EcgData;
import com.cjkj.system.api.domain.APITJ03HrData;
import com.cjkj.system.api.domain.APITJ03RealTimeData;
import com.cjkj.system.api.domain.request.RecordsReq;

import javax.jms.Message;
import java.util.Date;
import java.util.List;

public interface TJ03DataService {

    /**
     * 处理接收到的数据
     **/
    void processMessage(Message message);

    /**
     * 获取数据列表
     **/
    List<APITJ03HrData> listHrData(String equipmentNo, Date startTime, Date endTime);
    /**
     * 获取最新一条心率数据
     **/
    APITJ03HrData latestHrData(String equipmentNo, Date startTime, Date endTime);

    /**
     * 获取血压数据列表
     * @param equipmentNo 设备编号
     * @param startTime 开始时间
     * @param endTime 结束时间
     */
    List<APITJ03BpData> listBpData(String equipmentNo, Date startTime, Date endTime);

    /**
     * 获取心电数据列表
     * @param equipmentNo 设备编号
     * @param startTime 开始时间
     * @param endTime 结束时间
     */
    List<APITJ03EcgData> listECGData(String equipmentNo, Date startTime, Date endTime);

    /**
     * 获取多参数监测仪实时数据
     */
    APITJ03RealTimeData getTj03RealTimeData(List<RecordsReq> reqs);

    /**
     * 发送设备设置信息
     */
    int sendCommand(String equipmentNo, RunSetParam runSet);

    /**
     * 获取多参数监测仪最新电量数据
     */
    APITJ03RealTimeData getLatestBatteryData(String equipmentNo);

    /**
     * 获取多参数监测仪最新数据
     */
    APITJ03RealTimeData getLatestData(String equipmentNo);
}
